Today, a large number of built-in information terminals are put to wide use. By way of example, there is an information terminal which is mounted on a vehicle such as an automobile. With this information terminal, a so-called car navigation device is provided, which supports movement to a destination by the use of map displaying and/or voice guiding.
Recently, in-vehicle information terminals continue to become multifunctional, and there are also terminals having functions such as video viewing and listening to music, displaying vehicle status, and controlling the vehicle, in addition to the navigation function. In order to immediately support such growing and expanding functionality, application of intermediate code techniques to the in-vehicle information terminal is now being developed. The intermediate code thus developed enables execution of a single program in multiple types of information terminals each having a different OS and operation unit. Therefore, manufacturing of the in-vehicle information terminal and creating of intermediate code program designed for the in-vehicle information terminal can be separately performed by different manufacturers, thereby enhancing productivity.
However, since in applying the intermediate code technique, an intermediate program is obtained externally, there is a problem in that it is not possible to know in advance the amount of computer resources that will be required. Therefore, management of the computer resources may become difficult. If an intermediate code program including an intermediate code created by a person with bad intent or an intermediate program containing a bug is executed, it may continue to consume files and memory without limitation, with the result that it may interfere with securing of resources by other programs, or deteriorate quick response properties of the overall system.
As a technique to avoid the situation above, Patent Document 1 discloses art in which a monitoring process (task) is provided to check periodically resource usage of each process, notification is made to a monitoring device, and the process is suspended, stopped, or resumed in accordance with the usage amount.
In order to support further growth and expansion in functionality of the in-vehicle information terminal, there is a growing need for multiple virtual machines carrying out the intermediate code programs to be simultaneously executed. By way of example, there is a case in which an intermediate program for controlling air conditioner and an intermediate program for reproducing music are executed simultaneously. However, simultaneous execution of multiple virtual machines may cause a problem such as an increase of resources in use and a conflict for computer resources. The resources in use may include not only memory and output device, but also CPU appropriation time and the like.
When multiple virtual machines are executed, in many cases, the multiple virtual machines to be executed are normally switched at short intervals, as if multiple processes are being executed simultaneously. Such processing as described above can be implemented, for example, by dividing each of the multiple processes into predetermined intervals, and multiple processes are switched from one to another every predetermined interval thus obtained.
[Patent Document 1]
Japanese Patent Laid-Open Publication No. 7-311688